package com.kfm.common.domain.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
    * 用户信息表
    */
@Data
public class User {
    /**
    * 用户编号，主键，自增
    */
    private Integer id;

    /**
    * 用户名，非空
    */
    private String username;

    /**
    * 手机号
    */
    private String phone;

    /**
    * 邮箱
    */
    private String email;

    /**
    * 密码，非空，存储时应使用加密算法，如 bcrypt
    */
    private String password;

    /**
    * 昵称
    */
    private String nickname;

    /**
    * 头像 URL
    */
    private String avatarUrl;

    /**
    * 用户状态，0: 激活, 1: 冻结, 2: 其他
    */
    private Byte status;

    /**
    * 逻辑删除标志，0: 未删除，1: 已删除
    */
    private Byte isDeleted;

    /**
    * 记录创建时间
    */
    private Date createdDate;

    /**
    * 记录更新时间，使用 ON UPDATE CURRENT_TIMESTAMP 自动更新
    */
    private Date updatedDate;

    public boolean isAdmin() {
        return isAdmin(id);
    }

    /**
     * 是否是管理员
     * @param id 用户的id
     * @return 是否是管理员
     */
    private boolean isAdmin(Integer id) {
        return id != null && 1 == id;
    }
}